SamplePart Class Definition
Most of the SamplePart implementation is contained within a single C++ class calledSamplePart
. The public methods declared in this class correspond exactly to methods of the same name insom_SamplePart
, all of which override methods ofODPart
. The protected methods are subroutines internal to SamplePart called in the implementation of the public methods. The private members ofSamplePart
are its data members.Listing 2-1 shows the complete class definition of
SamplePart
.Listing 2-1
SamplePart
class definition
class SamplePart { public: SamplePart(); virtual ~SamplePart(); // -- Initialization -- void InitPart(Environment* ev, ODStorageUnit* storageUnit, ODPart* partWrapper); void InitPartFromStorage(Environment* ev, ODStorageUnit* storageUnit, ODPart* partWrapper); // -- Storage -- void Release(Environment* ev); void ReleaseAll(Environment* ev); ODSize Purge(Environment* ev, ODSize size); void Externalize(Environment* ev); void ExternalizeKinds(Environment* ev, ODTypeList* kindset); void ChangeKind(Environment* ev, ODType kind); void CloneInto(Environment* ev, ODDraftKey key, ODStorageUnit* destinationSU, ODFrame* initiatingFrame); void WritePartInfo(Environment* ev, ODInfoType partInfo, ODStorageUnitView* storageUnitView); ODInfoType ReadPartInfo(Environment* ev, ODFrame* frame, ODStorageUnitView* storageUnitView); void ClonePartInfo(Environment *ev, ODDraftKey key, ODInfoType partInfo, ODStorageUnitView* storageUnitView, ODFrame* scopeFrame); // -- Layout -- void DisplayFrameAdded(Environment* ev, ODFrame* frame); void DisplayFrameRemoved(Environment* ev, ODFrame* frame); void DisplayFrameClosed(Environment* ev, ODFrame* frame); void DisplayFrameConnected(Environment* ev, ODFrame* frame); void AttachSourceFrame(Environment* ev, ODFrame* frame, ODFrame* sourceFrame); void ViewTypeChanged(Environment* ev, ODFrame* frame); void FrameShapeChanged(Environment* ev, ODFrame* frame); ODID Open(Environment* ev, ODFrame* frame); // -- Imaging -- void Draw(Environment* ev, ODFacet* facet, ODShape* invalidShape); void GeometryChanged(Environment* ev, ODFacet* facet, ODBoolean clipShapeChanged, ODBoolean externalTransformChanged); void HighlightChanged(Environment* ev, ODFacet* facet); void FacetAdded(Environment* ev, ODFacet* facet); void FacetRemoved(Environment* ev, ODFacet* facet); // -- Activation -- ODBoolean BeginRelinquishFocus(Environment* ev, ODTypeToken focus, ODFrame* ownerFrame, ODFrame* proposedFrame); void CommitRelinquishFocus(Environment* ev, ODTypeToken focus, ODFrame* ownerFrame, ODFrame* proposedFrame); void AbortRelinquishFocus(Environment* ev, ODTypeToken focus, ODFrame* ownerFrame, ODFrame* proposedFrame); void FocusAcquired(Environment* ev,ODTypeToken focus, ODFrame* ownerFrame); void FocusLost(Environment* ev,ODTypeToken focus, ODFrame* ownerFrame); // -- Event handling -- ODBoolean HandleEvent(Environment* ev, ODEventData* event, ODFrame* frame, ODFacet* facet, ODEventInfo* eventInfo); void AdjustMenus(Environment* ev, ODFrame* frame); protected: // -- Initialization -- void Initialize(Environment* ev); // -- Storage -- void CheckAndAddProperties(Environment* ev, ODStorageUnit* storageUnit); void CleanseContentProperty(Environment* ev, ODStorageUnit* storageUnit); void InternalizeStateInfo(Environment* ev, ODStorageUnit* storageUnit); void InternalizeContent(Environment* ev, ODStorageUnit* storageUnit); void ExternalizeStateInfo(Environment* ev, ODStorageUnit* storageUnit, ODDraftKey key, ODFrame* scopeFrame); void ExternalizeContent(Environment* ev, ODStorageUnit* storageUnit, ODDraftKey key, ODFrame* scopeFrame); void SetDirty(Environment* ev); // -- Event Handling -- ODBoolean HandleMenuEvent(Environment* ev, ODEventData* event, ODFrame* frame); ODBoolean HandleMouseEvent(Environment* ev, ODEventData* event, ODFacet* facet, ODEventInfo* eventInfo); void DoMouseEvent(Environment* ev, ODFacet* facet, Point* where); void DoDialogBox(Environment* ev, ODFrame* frame, ODSShort dialogID, ODUShort errorNumber = 0); // -- Imaging -- void DrawFrameView(Environment* ev, ODFacet* facet); void DrawIconView(Environment* ev, ODFacet* facet); void DrawThumbnailView(Environment* ev, ODFacet* facet); void GenerateThumbnail( Environment* ev, ODFrame* frame ); // -- Activation -- void PartActivated(Environment* ev, ODFrame* frame); ODBoolean ActivateFrame(Environment* ev, ODFrame* frame); void WindowActivating(Environment* ev, ODFrame* frame, ODBoolean activating); void RelinquishAllFoci(Environment* ev, ODFrame* frame); // -- Layout -- ODWindow* AcquireFramesWindow(Environment* ev, ODFrame* frame); ODWindow* CreateWindow(Environment* ev, ODFrame* frame, ODType frameType, WindowProperties* windowProperties); void CleanupWindow(Environment* ev, ODFrame* frame); WindowProperties* GetDefaultWindowProperties(Environment* ev, ODFrame* frame, Rect* windowRect); WindowProperties* GetSavedWindowProperties(Environment* ev, ODFrame* frame); Rect CalcPartWindowSize(Environment* ev, ODFrame* sourceFrame); Rect CalcPartWindowPosition(Environment* ev, ODFrame* frame, Rect* partWindowBounds); ODFacet* GetActiveFacetForFrame(Environment* ev, ODFrame* frame); ODShape* CalcNewUsedShape(Environment* ev, ODFrame* frame); void UpdateFrame(Environment* ev, ODFrame* frame, ODTypeToken view, ODShape* usedShape); void CleanupDisplayFrame(Environment* ev, ODFrame* frame, ODBoolean frameRemoved); private: CList* fDisplayFrames; ODBoolean fDirty; ODPart* fSelf; ODBoolean fReadOnlyStorage; };
Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help